package com.lcf.system.vo;

import com.lcf.framework.annotation.DictFile;
import com.lcf.framework.annotation.DictTable;
import com.lcf.framework.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 购买(MovieBuy)表实体类
 *
 * @author lcf
 * @since 2025-05-07 22:23:22
 */
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Data
public class MovieBuyVO extends BaseVO {
    //用户id
    @Schema(description = "用户id")
    @DictTable(tableName = "sys_user", primaryKey = "id",
            fields = {"name", "head_url"},
            nameField = {"name", "headUrl"})
    private Long userId;
    //电影id
    @Schema(description = "电影id")
    @DictTable(tableName = "movie", primaryKey = "id",
            fields = {"movie_name", "movie_img", "movie_year","movie_score"},
            nameField = {"movieName", "movieImg", "movieYear", "movieScore"})
    private Long movieId;

    //电影名称
    @Schema(description = "电影名称")
    private String movieName;
    //电影海报
    @DictFile
    @Schema(description = "电影海报")
    private String movieImg;
    //上映年份
    @Schema(description = "上映年份")
    private Integer movieYear;
    //电影评分
    @Schema(description = "电影评分")
    private BigDecimal movieScore;
    //电影类型
    @Schema(description = "电影类型")
    private List<MovieTypeVO> movieTypes;

    @Schema(description = "姓名")
    private String name;
    @Schema(description = "头像")
    @DictFile
    private String headUrl;
}

